#pragma once
#include "ExtentIO.h"

class Event
{
protected:
	int					_id;			// for debug
	const double		_actionTime;	// actual time of execution
	double				_endTime;		// end time of event
	ExtentIO*			_data;

public:
	Event(double actionTime, ExtentIO* data);
	virtual ~Event(void);

	bool operator<(const Event& other);
	bool operator<=(const Event& other);
	bool operator>(const Event& other);
	bool operator>=(const Event& other);
	bool operator==(const Event& other);
	
	double getActionTime() const;
	double getEndTime() const;
	ExtentIO* getData();
	//void setActionTime(double actionTime);
	void setEndTime(double endTime);
	virtual bool doAction() = 0;
};

